package com.siwei.mes.service.materials;

import com.github.pagehelper.PageInfo;
import com.siwei.mes.common.query.PageQuery;
import com.siwei.mes.entity.materials.MaterialsSpecConfig;

import java.util.List;

/**
 * 材料及规格配置(MaterialsSpecConfig)表服务接口
 *
 * @author linzi
 * @since 2024-05-18 23:33:00
 */
public interface MaterialsSpecConfigService {

    /**
     * 新增
     *
     * @param entity
     * @return
     */
    Long create(MaterialsSpecConfig entity);

    /**
     * 修改
     *
     * @param entity
     */
    void update(MaterialsSpecConfig entity);

    /**
     * 删除
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 获取所有分组  分页
     *
     * @param query
     * @return
     */
    PageInfo<MaterialsSpecConfig> getPage(PageQuery<MaterialsSpecConfig, MaterialsSpecConfig> query);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    MaterialsSpecConfig loadById(Long id);

    /**
     * 获取所有
     *
     * @param entity
     * @return
     */
    List<MaterialsSpecConfig> getAll(MaterialsSpecConfig entity);

    /**
     * 根据材料类型查询所有材料名称
     *
     * @param materialsType
     * @return
     */
    List<MaterialsSpecConfig> selectByMaterialsType(Integer materialsType);
}
